package com.gopay.bis.manager.bank;

import com.gopay.common.domain.bank.BankAuthOrder;

/** 
 * 委托代收认证主订单Manager
 * @ClassName: BankAuthOrderManager  
 * @author w_jiqing  
 */ 
public interface BankAuthOrderManager {
    
    /** 
     * 新增认证主订单
     * @param authOrder
     * @return 
     */
    public BankAuthOrder addBankAuthOrder(BankAuthOrder authOrder);
    
    /** 
     * 通过国付宝订单号更新银行订单号
     * @param authOrder
     * @return 
     */
    public int updateAuthBankOrderIdbyOrderId(BankAuthOrder authOrder);
    
    /** 
     * 更新认证主订单--认证通过
     * @param orderId
     * @return  
     */
    public int updateBackSuccess(BankAuthOrder authOrder);
    
    /** 
     * 更新认证主订单--认证不通过
     * @param orderId
     * @return 
     */
    public int updateBackFail(BankAuthOrder authOrder);
    
    /** 
     * 跟新认证主订单--自动对单认证通过
     * @param orderId
     * @return 
     */
    public int updateAutoQuerySuccess(BankAuthOrder authOrder);
    
    /** 
     * 跟新认证主订单--自动对单认证不通过
     * @param orderId
     * @return 
     */
    public int updateAutoQueryFail(BankAuthOrder authOrder);
    
    /** 
     * 更新认证主订单--银行返回验签失败
     * @param orderId
     * @return  
     */
    public int updateBackVerifyFail(BankAuthOrder authOrder);
    
    /**
     * 根据银行订单号获取认证流水
     * 
     * @param bankOrderId
     * @return
     */
    public BankAuthOrder getAuthBankOrderByBankId(String bankOrderId);

}
